1. Field of the Invention
Aspects of the present invention relate to computing systems. More particularly, aspects of the present invention relate to synchronizing document models.
1. Description of Related Art
In addition to working with text input, computers now have the ability to record and modify electronic ink. Electronic ink may be kept in its native form or may be run through an analyzer to recognize text and annotations. Software applications are integrating the use and analysis of electronic ink into their functionality, enhancing the ability of users to create and edit documents.
These software applications have existing private data structures, used to store, process, and render data collected by the application. These private data structures typically do not match exactly the data format required by electronic ink analysis tools. Previous methods for handling disparate data structures have involved the software application implementing a particular programmatic interface callable by electronic ink analysis tools. In this manner, ink analysis tools could access the software application's private data structure directly and keep it updated. However, if a software application implemented the programmatic interface incorrectly, diagnosing the failure was cumbersome to near impossible.
As a result, two document models are maintained by a software application using electronic ink analysis tools, one for the private use of a software application, and one for ink analysis tools called by the application. Maintaining two document object models can be programmatically quite easy. Whenever a change is made to one model, update the other model. However, for lengthy documents, model updates can take a long time, slowing down the computer and frustrating the user.
Methods and systems for making the updating of ink analysis document models faster and more efficient are needed.